package com.wish.base.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author group02
 * @since 2022-05-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_m_company_account")
public class MCompanyAccount implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 商户id
     */
    private Long businessId;

    /**
     * 商户名
     */
    private String businessName;

    /**
     * 账户余额（支付账户总余额，包括可用余额和冻结余额）
     */
    private BigDecimal balance;

    /**
     * 冻结余额（不可使用余额）
     */
    private BigDecimal frozenAmount;

    /**
     * 可用余额（可提现或可支付余额）
     */
    private BigDecimal cashableAmount;

    /**
     * 需还款
     */
    private BigDecimal needPayBack;

    /**
     * 账户安全等级（1：低 2：中 3：高）暂时页面不显示
     */
    private Integer accountLevel;

    /**
     * 是否允许重置（0：允许 1：不允许）
     */
    private Boolean canCz;

    /**
     * 是否允许提现（0：允许 1：不允许）
     */
    private Boolean canTx;

    /**
     * 是否允许透资（0：允许 1：不允许）
     */
    private Boolean canTz;

    /**
     * 是否允许支付（0：允许 1：不允许）
     */
    private Boolean canZf;

    /**
     * 是否允许转出（0：允许 1：不允许）
     */
    private Boolean canZc;

    /**
     * 是否允许转入（0：允许 1：不允许）
     */
    private Boolean canZr;

    /**
     * 是否激活状态（0：未激活 1：激活）
     */
    private Boolean accountState;

    /**
     * 安全保障等级
     */
    private String securityLevel;

    /**
     * 交易密码
     */
    private String dealPassword;

    /**
     * 预留字段1
     */
    private BigDecimal reserve1;

    /**
     * 预留字段2
     */
    private Integer reserve2;

    /**
     * 预留字段3
     */
    private String reserve3;

    /**
     * 预留字段4
     */
    private String reserve4;

    /**
     * 预留字段5
     */
    private String reserve5;

    /**
     * 删除标识（0：未删除）（1：删除）
     */
    private Boolean delFlg;

    /**
     * 创建用户id
     */
    private Long createUserid;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新用户id
     */
    private Long updateUserid;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;


}
